Profiles in suggest

ABSTRACT

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a search query, where the search query comprises one or more terms including an individual identifier; identifying one or more entities associated with the individual identifier; providing the one or more entities as query suggestions; receiving a selection of an entity; obtaining search results for the selected entity, where the search results are obtained using clustered resources corresponding to the selected entity; and providing the obtained search results, where the search results are presented in a social profile page corresponding to the selected entity.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a non-provisional of and claims priority to U.S.Provisional Patent Application No. 61/584,790, filed on Jan. 9, 2012,the entire contents of which are hereby incorporated by reference.

BACKGROUND

This specification relates to people search results.

Internet search engines aim to identify resources (e.g., web pages,images, text documents, multimedia context) that are relevant to auser's needs and to present information about the resources in a mannerthat is most useful to the user. Internet search engines return searchresults in response to a user submitted query. For example, a user querycan seek resources associated with a particular individual by includinga name in a query.

SUMMARY

In general, one aspect of the subject matter described in thisspecification can be embodied in methods that include the actions ofreceiving a search query, where the search query includes one or moreterms including an individual identifier; identifying one or moreentities associated with the individual identifier; providing the one ormore entities as query suggestions; receiving a selection of an entity;obtaining search results for the selected entity, where the searchresults are obtained using clustered resources corresponding to theselected entity; and providing the obtained search results, where thesearch results are presented in a social profile page corresponding tothe selected entity.

In general, one aspect of the subject matter described in thisspecification can be embodied on a computer storage medium encoded withinstructions that when executed by one or more computers cause the oneor more computers to perform operations of receiving a search query,where the search query comprises one or more terms including anindividual identifier; identifying one or more entities associated withthe individual identifier; providing the one or more entities as querysuggestions; receiving a selection of an entity; obtaining searchresults for the selected entity, where the search results are obtainedusing clustered resources corresponding to the selected entity; andproviding the obtained search results, where the search results arepresented in a social profile page corresponding to the selected entity.

In general, one aspect of the subject matter described in thisspecification can be embodied on a system including: one or morecomputers and one or more storage devices storing instructions that areoperable, when executed by the one or more computers, to cause the oneor more computers to perform operations of: receiving a search query,where the search query comprises one or more terms including anindividual identifier; identifying one or more entities associated withthe individual identifier; providing the one or more entities as querysuggestions; receiving a selection of an entity; obtaining searchresults for the selected entity, where the search results are obtainedusing clustered resources corresponding to the selected entity; andproviding the obtained search results, where the search results arepresented in a social profile page corresponding to the selected entity.

These and other embodiments can optionally include one or more of thefollowing features. The method further includes refining the searchresults using the one or more terms in the search query. The one or moreterms include an occupation identifier. The one or more terms include anorganization identifier. The method further includes receiving a secondsearch query, where the second search query includes one or more secondterms; refining the identified search results using the one or moresecond terms; and presenting the refined search results, where thesearch results are presented in a social profile page corresponding tothe selected entity.

Obtaining search results for the selected entity, where the searchresults are obtained using clustered resources corresponding to theselected entity includes identifying one or more social profilesassociated with the individual identifier. Social profiles areidentified based in part on a geographic location of a user. Socialprofiles are identified based in part on a history of search queriesreceived for a user. Social profiles are identified based in part oninclusion in a social circle associated with a user. Presenting theidentified search results includes presenting one or more mechanisms forcontacting the selected entity. Presenting the obtained search resultscomprises providing a mechanism for requesting that the selected entityjoin a social group associated with a user. Receiving a search queryincludes receiving at least a portion of the search query.

In general, one aspect of the subject matter described in thisspecification can be embodied in methods that include the actions ofreceiving a search query, where the search query comprises one or moreterms including an individual identifier; identifying an entityassociated with the individual identifier; obtaining search results forthe identified entity, where the search results are obtained usingclustered resources corresponding to the identified entity; andproviding the obtained search results, where the search results arepresented in a social profile page corresponding to the identifiedentity.

In general, one aspect of the subject matter described in thisspecification can be embodied on a computer storage medium encoded withinstructions that when executed by one or more computers cause the oneor more computers to perform operations of: receiving a search query,where the search query comprises one or more terms including anindividual identifier; identifying an entity associated with theindividual identifier; obtaining search results for the identifiedentity, where the search results are obtained using clustered resourcescorresponding to the identified entity; and providing the obtainedsearch results, where the search results are presented in a socialprofile page corresponding to the identified entity.

In general, one aspect of the subject matter described in thisspecification can be embodied on a system including: one or morecomputers and one or more storage devices storing instructions that areoperable, when executed by the one or more computers, to cause the oneor more computers to perform operations of: receiving a search query,where the search query comprises one or more terms including anindividual identifier; identifying an entity associated with theindividual identifier; obtaining search results for the identifiedentity, where the search results are obtained using clustered resourcescorresponding to the identified entity; and providing the obtainedsearch results, where the search results are presented in a socialprofile page corresponding to the identified entity.

These and other embodiments can optionally include one or more of thefollowing features. The entity is identified based in part on ageographical location of a user submitting the search query. The entityis identified based in part on a history of search queries submitted bya user submitting the search query. The entity is identified based inpart on inclusion in a social circle associated with a user submittingthe search query.

Particular embodiments of the subject matter described in thisspecification can be implemented so as to realize one or more of thefollowing advantages. Search results corresponding to particularindividuals can be obtained and provided for presentation. Userinterface elements present results to help the user recognize a“correct” individual (e.g., when multiple individuals share a name), forexample, using photos, metadata, and relevant results identified forparticular individuals. Additionally, users can identify individualsassociated with non-name queries, for example, occupation, organization,events, or location. Users can retrieve comprehensive search results fora particular individual. The retrieved results can include publiclyavailable search results and content that the particular individual haschosen to share with the users through, for example, a social profilepage. A user can obtain search results for a particular individual basedon a determined affinity between the user and the particular individualand based on a determined popularity of the particular individual.

The details of one or more embodiments of the subject matter describedin this specification are set forth in the accompanying drawings and thedescription below. Other features, aspects, and advantages of thesubject matter will become apparent from the description, the drawings,and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example search system.

FIG. 2 is a flow diagram of an example process for obtainingentity-specific search results.

FIG. 3 is an example search result page for presenting search results.

FIG. 4 is an example search result page for presenting entity-specificsearch results for an individual.

FIG. 5 is an example search result page for presenting entity-specificsearch results for an individual.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

Users can search for individuals by submitting a search query to asearch system, where the search query includes a feature. The featurecan be the name of an individual, a description of an occupation, thename of an organization, or some other description associated with anindividual (e.g., “president of the united states”). Particular entitiescan be suggested in response to a feature submitted with a search query.The suggested entities can include information (e.g., an individual'sname, occupation, affiliated organization, and geographic location),where the information is obtained from a corresponding cluster ofresources. The entities suggested can vary depending on differentfactors (e.g., the user submitting the search query, a geographiclocation of the user submitting the search query, or a social affinitybetween the user submitting the query and an individual associated withan entity). Users can select a suggested entity to obtain resources froma cluster of resources that corresponds to the selected entity.

FIG. 1 shows an example system 100. The system 100 provides searchresults relevant to submitted queries as can be implemented in aninternet, an intranet, or another client and server environment. Thesystem 100 is an example of an information retrieval system in which thesystems, components, and techniques described below can be implemented.

A user 102 can interact with a search system 114 through a client device104. For example, the client 104 can be a computer coupled to the searchsystem 114 through a local area network (LAN) or wide area network(WAN), e.g., the Internet. In some implementations, the search system114 and the client device 104 can be one machine. For example, a usercan install a desktop search application on the client device 104. Theclient device 104 will generally include a random access memory (RAM)106 and a processor 108.

A user 102 can submit a query 110 to a search engine 130 within a searchsystem 114. When the user 102 submits a query 110, the query 110 istransmitted through a network to the search system 114. The searchsystem 114 can be implemented as, for example, computer programs runningon one or more computers in one or more locations that are coupled toeach other through a network. The search system 114 includes an indexdatabase 122 and a search engine 130. The search system 114 responds tothe query 110 by generating search results 128, which are transmittedthrough the network to the client device 104 in a form that can bepresented to the user 102 (e.g., as a search results web page to bedisplayed in a web browser running on the client device 104).

When the query 110 is received by the search engine 130, the searchengine 130 identifies resources that match, or are responsive to, thequery 110. The search engine 130 will generally include an indexingengine 120 that indexes resources (e.g., web pages, images, or newsarticles on the Internet) found in a corpus (e.g., a collection orrepository of content), an index database 122 that stores the indexinformation, and a ranking engine 152 (or other software) to rank theresources that match the query 110. The indexing and ranking of theresources can be performed using conventional techniques. The searchsystem also includes a clustering engine 154 to cluster resourcesresponsive to features (e.g., individuals, occupation, or organization).Cluster features can be included in the index database 122 or in aseparate index, not shown. Alternatively, cluster features can beidentified at runtime. The search engine 130 can transmit the searchresults 128 through the network to the client device 104 forpresentation to the user 102.

In some implementations, a query is received prior to submission to thesearch engine 130. For example, a query can be received as it is beingentered by the user 102 and before the search is executed (e.g., byselecting a “search” button). One or more suggested queries can beprovided to the user 102. The suggested queries can include suggestionsof particular entities.

FIG. 2 is a flow diagram of an example process 200 for obtainingentity-specific search results. For convenience, the process 200 will bedescribed with respect to a system including one or more computingdevices that performs the process 200.

The system receives a search query (202). Search queries can be receivedfrom a client device communicating over a network, where the clientdevice interacts with the system using an interface, such as a networkinterface. The search query can include one or more terms received froma user. For example, the search query can be “Eiffel.” In someimplementations, a user enters a search query including one or moreterms, where the terms include a feature. The feature can be a name foran individual and can be a full or partial name (e.g., “John,” “Doe,”“John D.,” or “Doe, J.”). In some implementations, the feature is adescription of an occupation (e.g., “software engineer”), where theoccupation can be used to identify one or more individuals. In someother implementations, the feature is the name of an organization (e.g.,“sharks football team”), where the name of the organization can be usedto identify one or more individuals. In yet some other implementations,the feature is a description associated with an individual (e.g.,“president of the united states”), where the description can be used toidentify one or more individuals. In some alternative implementations,the feature is a combination of one or more features (e.g., “john doesoftware engineer,” “john doe example corporation,” “john doe sanfrancisco,” or “john doe the oldest man in the world”), where thefeature can be used to identify one or more individuals.

During entry of the search query to the system, suggestions can beprovided to the user, e.g., in a drop-down menu so that the user canselect from different options. The suggestions can be suggested queriesincluding the same or additional autocompleted query terms. In someimplementations, the suggestions are based on other users' searchactivities. The searches can be algorithmically determined based on anumber of objective factors (e.g., popularity of search terms) withouthuman intervention. For example, the user can enter “eiffel,” and thesystem can suggest “Eiffel Tower,” “Eiffel Tower at night,” Eiffel TowerParis,” and/or “Eiffel Tower pictures.” The system can providesuggestions based on a word-completion algorithm. Alternatively, thesystem can provide suggestions based on historical data from priorsearch terms.

In some implementations, the system provides suggestions for one or moreentities that correspond to terms received from the user, as discussedin more detail below. For example, the user input of “John Smi” canresult in a suggested query of “John Smith”. Alternatively, a user inputof “John Smith” can result in a suggested query of “John Smith—SoftwareEngineer—Mountain View, CA,” as described in greater detail below.

In some implementations, instant search results are provided based inpart upon entry of one or more characters in the search query. Forexample, the user can enter a search query for “ei,” and search resultsprovided can include search results with phrases “Eiffel Tower,” “EileenBand,” and “Einstein,” each matching the search term “ei.” The user cancontinue with the search by inputting more characters and the searchresults can be updated instantly based on the entered characters. Insome implementations, the search results are instantly updated based inpart on the user hovering over one of the suggestions provided in thedrop-down menu.

The system evaluates resources corresponding to a feature that wasincluded in the search query to identify an entity, where the entityrepresents a specific instance of that feature (204). The identifiedentity can be the name of an individual (e.g., a “John Doe” entity), adescription of an occupation (e.g., a “Software Engineer” entity), thename of an organization (e.g., an “Example Corporation” entity), or someother description associated with an individual (e.g., a “President ofthe United States” entity).

In some implementations, the entity is identified using resources linkedwith individuals, such as social profiles. A user's social profile caninclude a set of identified contacts, a set of links to externalresources (e.g., web pages), and subscriptions to content of the system(e.g., a system that provides various content and applications includinge-mail, chat, video, photo albums, or blogs). Each of these groups canbe connected to other users or resources at another degree of separationfrom the user. For example, contacts of the user can each have their ownsocial profile that includes links to resources and contacts. Theconnections to a user within a specified number of degrees of separationcan be considered the social circle of the user. Users (e.g., contactsof a user) can view and interact with each other's social profiles. Insuch implementations, entities are identified using social profilescorresponding to a feature that was included in the search query. Forexample, an entity can be identified for an individual named “John Doe”if the search query included the feature “john doe,” and if a socialprofile for that individual is available. Additionally, features can bealgorithmically determined based on a number of objective factors (e.g.,popularity of search terms) without human intervention. For example, anentity can be identified for an individual named “John Doe” if thesearch query included the feature “john”.

In some implementations, an entity is identified based on the number ofsocial circles in which a particular social profile has been added. Forexample, an entity can be set to correspond to a first “John Doe” if thenumber of individuals that have added the first “John Doe” to theirsocial circle exceeds the number of individuals that have added a second“John Doe.” In some other implementations, entity identification isbased on the identity of the user submitting the search query. Forexample, the system can determine the identity of a user submitting thesearch query if the user has been authenticated (e.g., by signing intoan account; Internet protocol address; or by using information stored onthe user's system, e.g., cookies).

In some implementations, the entity is identified based on a socialaffinity score between the user submitting the search query and one ormore individuals. For example, social profiles corresponding toindividuals named “John Doe” can include profiles for a first, second,and third “John Doe.” Upon receiving a search query for “John Doe,” thesystem can evaluate a social affinity score for each social profile. Thesocial affinity score can represent a level of interaction between theuser submitting the search query and each social profile (e.g., thenumber of times the user has viewed a social profile, the level ofcommunication between the user and an individual's social profile,whether an individual is in the user's social circle).

For example, if the user submitting the search query is determined tointeract more frequently with the social profile for the third “JohnDoe,” then the “John Doe” entity can be set to correspond to the socialprofile for the third “John Doe.” In other words, the social affinityscore can be used to allow the user to find a particular individual(e.g., someone the user personally knows) amongst other individuals thatshare the same name. In this example, a cluster of resourcescorresponding to the “John Doe” entity (i.e., resources responsive tothe third “John Doe”) can be searched to obtain responsive searchresults.

An entity can also be identified using resources (e.g., documents, webpages, and images) in a cluster of resources for a feature. In someimplementations, an entity is identified based on a count of a number ofresources that are responsive to a specific instance of a feature. Forexample, if resources responsive to individuals named “Jane Doe” includereferences to a first, second, and third “Jane Doe,” and the number ofresources responsive to the second “Jane Doe” exceed the number ofresources for the first or third “Jane Doe,” then a “Jane Doe” entitycan be set to correspond to the second “Jane Doe.” In this example, acluster of resources corresponding to the “Jane Doe” entity (i.e.,resources determined to be responsive to the second “Jane Doe”) can besearched to obtain responsive search results.

In some other implementations, an entity is identified using thepopularity of resources (e.g., documents, web pages, and images) in acluster of resources for a feature. For example, if resources responsiveto individuals named “Jane Doe” include references to a first, second,and third “Jane Doe,” and the resources responsive to the first “JaneDoe” are determined to be more popular (e.g., a higher search engineranking) than the second or third “Jane Doe,” then a “Jane Doe” entitycan be set to correspond to the first “Jane Doe.” In this example, acluster of resources corresponding to the “Jane Doe” entity (i.e.,resources responsive to the first “Jane Doe”) can be searched to obtainresponsive search results.

In some other implementations, an entity is identified using informationfrom a user's browsing history. For example, if a user submitting asearch query previously searched for a particular individual, then anentity can be set to correspond to that particular individual, where asearch using that entity can obtain search results responsive to theparticular individual.

In yet some other implementations, an entity is identified using ageographic location associated with the user submitting a search query.For example, resources responsive to individuals named “John Doe” maycontain references to a first “John Doe,” who is located in SanFrancisco and a second “John Doe,” who is located in Los Angeles. Anentity can be set to correspond to the first “John Doe” in a case wherethe geographic location for a user submitting a search query isdetermined to be San Francisco. Similarly, an entity can be set tocorrespond to the second “John Doe” in a case where the geographiclocation for a user submitting a search query is determined to be LosAngeles.

Entities can also be associated with features that reference anoccupation, an organization, or a description for an individual. In someimplementations, an occupation entity is identified using resourcesassociated with individuals that list an occupation for that individual.For example, a social profile for an individual named “John Doe” thatlists “Software Engineer” as an occupation can be used to identify a“Software Engineer” entity. In some implementations, the occupationentity can be used to search a cluster of resources to identify one ormore individuals of that occupation.

For example, a “Software Engineer” entity can be used to search arelated cluster of resources (e.g., web pages of software engineers,documents written by software engineers, web pages for softwarecompanies) to identify one or more individuals who are softwareengineers. Specific individuals within this cluster of resources can beidentified using one or more of the described techniques (e.g., based onthe number of social circles in which a particular social profile hasbeen added, a social affinity score between the user submitting thesearch query and one or more individuals, the number of resourcesdetermined to be responsive for an individual, the popularity ofresources for an individual, the browsing history of a user submitting asearch query, and the geographic location of a user submitting a searchquery). In some implementations, the search query includes features thatreference an individual and an occupation, where an entity is set tocorrespond to the individual that practices the referenced occupation.

In some other implementations, an organization entity is identifiedusing resources associated with individuals that list an organizationwith which that individual is associated. For example, a social profilefor an individual named “John Doe” that lists “Example Corporation” asan organization can be used to identify an “Example Corporation” entity.In some implementations, the organization entity can be used to search acluster of resources to identify one or more individuals associated withthat organization. In some implementations, the search query includesfeatures that reference an individual and an organization, where anentity is set to correspond to the individual that is affiliated withthe referenced organization.

In some other implementations, an Internet protocol address, or a domainname system address, associated with a user submitting a search query isused to identify an entity. For example, assuming an “example.com”domain name system address corresponds to an organization named “ExampleCorporation,” if a user submits a search query that originates from an“example.com” domain name system address, then an entity can be set tocorrespond to the “Example Corporation” organization. In particular, theuser's search query can be filtered to obtain resources that areassociated with the “Example Corporation” entity.

Additionally, if a user submits a search query for individuals named“Jane Doe” then an entity can be set to correspond to “ExampleCorporation,” where search for individuals named “Jane Doe” can befiltered to one or more individuals named “Jane Doe” that are associatedwith “Example Corporation.” In such implementations, the search resultscan be refined further using one or more techniques described above toidentify a particular “Jane Doe” (e.g., based on the number of socialcircles in which a particular social profile has been added, a socialaffinity score between the user submitting the search query and one ormore individuals, the number of resources determined to be responsivefor an individual, the popularity of resources for an individual, thebrowsing history of a user submitting a search query, and the geographiclocation of a user submitting a search query).

The system provides one or more entities for selection (204). A userentering a search query can be presented one or more autocompletesuggestions (e.g., in a drop-down menu), where the user can submit asearch query upon selection of one of the suggestions. In someimplementations, the identified entity is presented as a suggestion in alist of suggestions. For example, in response to a user entering asearch query for “john doe,” the system can present suggestions “johndoe,” “john doe lyrics,” “john doe tv show,” and a “John Doe” entity. Insome implementations, the presented “John Doe” entity can include avisual identifier associated with the entity and correspondinginformation (e.g., occupation and affiliated organization).

The system receives a selection of an entity (206). The user can selecta presented entity, where selection of that entity triggers a searchwithin a cluster of resources that corresponds to the entity. In someimplementations, a selected entity is refined by adding one or moreterms to the search query. For example, a “Jane Doe” entity can berefined by the user by adding one or more terms (“software engineer”) ina search query box, where the additional terms can be used to refineresources that were obtained as being responsive to the “Jane Doe”entity. In this example, resources that were obtained as beingresponsive to the “Jane Doe” entity can be filtered to obtain resourcesrelated to the additional terms “software engineer.”

The system obtains resources responsive to the selected entity (208). Insome implementations, the system obtains resources (e.g., documents, webpages, images) from a cluster of resources, where the resources areresponsive to the selected entity. For example, if resources responsiveto individuals named “Jane Doe” include references to a first, second,and third “Jane Doe” and the selected entity corresponds to the third“Jane Doe,” then the system obtains resources responsive to the third“Jane Doe.”

Each entity can be linked to a particular cluster of resources (e.g.,documents, web pages, and images) that correspond to that entity. Insome implementations, the cluster of resources can include metadata(e.g., pictures, keywords, or other personally relevant information)determined to be responsive to the identified entity. A cluster ofresources can be created in an offline process or at runtime by aclustering engine (e.g., clustering engine 154 of FIG. 1). Theclustering engine can create a cluster of resources for a particularentity by identifying resources that are associated with the particularentity. Resources can be identified, for example, by searching an indexof resources and the identified resources can be associated withparticular entities based on the particular entities occurring in theresource content or metadata associated with those particular entities.

The system provides the obtained resources to the user (210). Forexample, a search results page can be provided for presentation (e.g.,by a client browser) that includes resources that were obtained from acluster of resources for a selected entity. The obtained resources caninclude results associated with images, web pages, audio, videoresources, social content (e.g., social profile posts authored by theentity), or authored content (e.g., articles authored by the entity).The obtained resources can be provided in a ranked order as determinedusing one or more ranking criteria (e.g., popularity). In someimplementations, the ranked order is based in part on a ranking ofresources within a cluster of resources for a selected entity, where theranking is performed using search engine ranking criteria. In some otherimplementations, resources are obtained based in part on ranking andcategory (e.g., web pages, documents, or images), where the resourcesare obtained in a ranked order within a specified category. For example,the obtained resources can include the top five web pages and the topfive images corresponding to the selected entity.

In some implementations, the obtained resources for the selected entityare provided in a manner that facilitates user recognition of theselected entity and resources corresponding to the selected entity. Forexample, the presentation of obtained resources can include a variety ofinformation for the selected entity (e.g., the name of an individual,occupation, employer, geographic location, organization, images relatedto the individual, links to resources within a related cluster ofresources, social connections to other people, metadata, or othersummaries as derived from the underlying cluster of resources. Themetadata can include, for example, keywords or other relevant,distinguishing textual features.

FIG. 3 is an example search result page 300 for presenting searchresults. The search results page 300 can include a search box 302 with asearch button 304. In FIG. 3, the search query in the search box 302 ispopulated with the terms “aaron brown.” A drop-down menu 306 displayingother suggested queries related to the terms “aaron brown” are shownbelow the search box 302. In particular, an entity 308 corresponding toa particular individual named “Aaron Brown” is also presented as asuggestion. The suggested entity 308 is shown with an icon associatedwith the entity and a description for the entity, where the descriptionidentifies the name of the particular individual associated with theentity (“Aaron Brown”), the individual's geographic location (“MountainView, CA”), the individual's occupation (“Software Engineer”), and theindividual's organization (“Example Corporation”).

In some implementations, two or more entities can be presented assuggestions, where each entity corresponds to a particular instance of afeature (e.g., individual, occupation, or organization). For example,the drop-down menu 306 can present an additional entity for a secondindividual also named “Aaron Brown,” where the second “Aaron Brown” canhave a different geographic location (e.g., “San Diego, CA”), adifferent occupation (e.g., “Project Manager”), or a differentorganization (e.g., “Example Inc.”).

Instant search results 310 responsive to the terms “aaron brown” arepresented. The instant search results 310 are provided based on entry ofthe terms “aaron brown,” and include search results responsive to one ormore individuals named “Aaron Brown.” The user can continue with thesearch by inputting more characters and the search results can beupdated instantly based on the entered characters. In someimplementations, the search results are instantly updated based in parton the user hovering over one of the suggestions 306 provided in thedrop-down menu. For example, the user can select the “Aaron Brown”entity 308 from the drop-down menu and, in response, the search resultscan be instantly updated to display search results responsive to theentity 308.

A social profile 312 corresponding to the suggested “Aaron Brown” entity308 is also presented. A social profile can be a profile created by anindividual or an organization that includes information and links toresources and contacts. In FIG. 3, the social profile 312 is a profilecorresponding to an individual named “Aaron Brown.” The social profile312 includes a website address 314 for accessing the social profile, avisual indicator 316, and corresponding geographic location, occupation,and organization 318 for “Aaron Brown.” The social profile 312 alsoincludes additional links 320 (e.g., shared posts or personal websites).In some implementations, the search results 310 are ranked based in parton search engine ranking criteria. In some other implementations, thesearch results 310 are ranked based in part on a social connection tothe user submitting the search query, where search results forindividuals having a social connection to the user submitting the searchquery are positioned higher than search results for other individuals.

Similarly, other factors can be used to rank search results 310 (e.g.,based on the number of social circles in which a particular socialprofile has been added, a social affinity score between the usersubmitting the search query and an individual, the number of resourcesdetermined to be responsive for an individual, the popularity ofresources for an individual, the browsing history of a user submitting asearch query, and the geographic location of a user submitting a searchquery).

FIG. 4 is an example search result page 400 for presentingentity-specific search results for an individual. The search resultspage 400 can include a search box 402 with a search button 404. In FIG.4, the search query in the search box 402 is populated with an entity408 corresponding to a particular individual named “Aaron Brown.” A usercan select the search button 404 to search a cluster of resources usingthe “Aaron Brown” entity 408 to obtain resources (e.g., documents, webpages, images) responsive to the entity 408, where the obtainedresources correspond to the particular individual named “Aaron Brown.”In some implementations, resources responsive to the entity 408 aredisplayed upon entering the entity 408 into the search box 402, suchthat selection of the search button 404 is not needed. The entity 408 isshown with an icon associated with the entity and with a cancellationoption 406 (shown as an “X”). A user can select the cancellation optionto remove the entity 408 from the search box 402. Removal of the entity408 can cancel the entity-based search.

Search results 410 and a social profile 412 responsive to the entity 408corresponding to “Aaron Brown” are presented. The social profile 412provides information for the individual associated with the “AaronBrown” entity, including the individual's name (“Aaron Brown”), theindividual's geographic location (“Mountain View, CA”), the individual'soccupation (“Software Engineer”), and the individual's organization(“Example Corporation”). A description of the individual 418 is alsoshown, where the description can be provided by the owner of the socialprofile.

The search results 410 can include information (e.g., pictures,keywords, or other personally relevant information) determined to beresponsive to the identified entity. In this regard, images 416corresponding to the “Aaron Brown” entity are also presented. In someimplementations, options 420 for interacting with the individual arepresented. In particular, a user can select a “Profile” option to accessa more detailed social profile for the individual. A “Posts” option canbe selected to access posts (e.g., blog posts, social posts, articles)authored by the individual. A “Photos” option can be selected to accessphotographs associated with the individual. An “Endorse” option can beselected to endorse the individual, where the user's endorsements (e.g.,web pages, posts, images) can be presented on the user's social profile.In some other implementations, a social post authored by the entity ispresented in place of the options 420.

FIG. 5 is an example search result page 500 for presentingentity-specific search results for an individual. The search resultspage 500 can include a search box 502 with a search button 504. In FIG.5, the search query in the search box 502 is populated with an entity508 corresponding to a particular individual named “Aaron Brown.” Theentity 508 is shown with an icon associated with the entity and with acancellation option 506 (shown as an “X”). A user can select thecancellation option to remove the entity 508 from the search box 502,where removal of the entity can cancel the entity-based search.

Search results 510 responsive to the entity corresponding to “AaronBrown” are presented. A social profile 512 corresponding to the “AaronBrown” entity 508 is presented. The social profile 512 providesinformation for the individual associated with the “Aaron Brown” entity,including the individual's name (“Aaron Brown”), the individual'sgeographic location (“Mountain View, CA”), the individual's occupation(“Software Engineer”), and the individual's organization (“ExampleCorporation”). Image search results 516 corresponding to the “AaronBrown” entity are presented. In some implementations, options 520 forinteracting with the individual are also presented. In particular, auser can select a “Profile” option to access a more detailed socialprofile for the individual. A “Posts” option can be selected to accessposts (e.g., blog posts, social posts, articles) authored by theindividual. A “Photos” option can be selected to access photographsassociated with the individual. An “Endorse” option can be selected toadd the individual to a social circle. A social circles window 514 canbe displayed in response to selection of the “Endorse” option. Thesocial circles window 514 allows a user to add the social profile 512 toone of their social circles. In some other implementations, a socialpost authored by the entity is presented in place of the options 520.

Embodiments of the subject matter and the operations described in thisspecification can be implemented in digital electronic circuitry, or incomputer software, firmware, or hardware, including the structuresdisclosed in this specification and their structural equivalents, or incombinations of one or more of them. Embodiments of the subject matterdescribed in this specification can be implemented as one or morecomputer programs, i.e., one or more modules of computer programinstructions, encoded on computer storage medium for execution by, or tocontrol the operation of, data processing apparatus. Alternatively or inaddition, the program instructions can be encoded on anartificially-generated propagated signal, e.g., a machine-generatedelectrical, optical, or electromagnetic signal that is generated toencode information for transmission to suitable receiver apparatus forexecution by a data processing apparatus. A computer storage medium canbe, or be included in, a computer-readable storage device, acomputer-readable storage substrate, a random or serial access memoryarray or device, or a combination of one or more of them. Moreover,while a computer storage medium is not a propagated signal, a computerstorage medium can be a source or destination of computer programinstructions encoded in an artificially-generated propagated signal. Thecomputer storage medium can also be, or be included in, one or moreseparate physical components or media (e.g., multiple CDs, disks, orother storage devices).

The operations described in this specification can be implemented asoperations performed by a data processing apparatus on data stored onone or more computer-readable storage devices or received from othersources.

The term “data processing apparatus” encompasses all kinds of apparatus,devices, and machines for processing data, including by way of example aprogrammable processor, a computer, a system on a chip, or multipleones, or combinations, of the foregoing The apparatus can includespecial purpose logic circuitry, e.g., an FPGA (field programmable gatearray) or an ASIC (application-specific integrated circuit). Theapparatus can also include, in addition to hardware, code that createsan execution environment for the computer program in question, e.g.,code that constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, a cross-platform runtimeenvironment, a virtual machine, or a combination of one or more of them.The apparatus and execution environment can realize various differentcomputing model infrastructures, such as web services, distributedcomputing and grid computing infrastructures.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor data (e.g., one or more scripts stored in a markup languagedocument), in a single file dedicated to the program in question, or inmultiple coordinated files (e.g., files that store one or more modules,sub-programs, or portions of code). A computer program can be deployedto be executed on one computer or on multiple computers that are locatedat one site or distributed across multiple sites and interconnected by acommunication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform actions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application-specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for performing actions in accordance with instructions andone or more memory devices for storing instructions and data. Generally,a computer will also include, or be operatively coupled to receive datafrom or transfer data to, or both, one or more mass storage devices forstoring data, e.g., magnetic, magneto-optical disks, or optical disks.However, a computer need not have such devices. Moreover, a computer canbe embedded in another device, e.g., a mobile telephone, a personaldigital assistant (PDA), a mobile audio or video player, a game console,a Global Positioning System (GPS) receiver, or a portable storage device(e.g., a universal serial bus (USB) flash drive), to name just a few.Devices suitable for storing computer program instructions and datainclude all forms of non-volatile memory, media and memory devices,including by way of example semiconductor memory devices, e.g., EPROM,EEPROM, and flash memory devices; magnetic disks, e.g., internal harddisks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROMdisks. The processor and the memory can be supplemented by, orincorporated in, special purpose logic circuitry.

To provide for interaction with a user, embodiments of the subjectmatter described in this specification can be implemented on a computerhaving a display device, e.g., a CRT (cathode ray tube) or LCD (liquidcrystal display) monitor, for displaying information to the user and akeyboard and a pointing device, e.g., a mouse or a trackball, by whichthe user can provide input to the computer. Other kinds of devices canbe used to provide for interaction with a user as well; for example,feedback provided to the user can be any form of sensory feedback, e.g.,visual feedback, auditory feedback, or tactile feedback; and input fromthe user can be received in any form, including acoustic, speech, ortactile input. In addition, a computer can interact with a user bysending documents to and receiving documents from a device that is usedby the user; for example, by sending web pages to a web browser on auser's client device in response to requests received from the webbrowser.

Embodiments of the subject matter described in this specification can beimplemented in a computing system that includes a back-end component,e.g., as a data server, or that includes a middleware component, e.g.,an application server, or that includes a front-end component, e.g., aclient computer having a graphical user interface or a Web browserthrough which a user can interact with an implementation of the subjectmatter described in this specification, or any combination of one ormore such back-end, middleware, or front-end components. The componentsof the system can be interconnected by any form or medium of digitaldata communication, e.g., a communication network. Examples ofcommunication networks include a local area network (“LAN”) and a widearea network (“WAN”), an inter-network (e.g., the Internet), andpeer-to-peer networks (e.g., ad hoc peer-to-peer networks).

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other. In someembodiments, a server transmits data (e.g., an HTML page) to a clientdevice (e.g., for purposes of displaying data to and receiving userinput from a user interacting with the client device). Data generated atthe client device (e.g., a result of the user interaction) can bereceived from the client device at the server.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anyinventions or of what may be claimed, but rather as descriptions offeatures specific to particular embodiments of particular inventions.Certain features that are described in this specification in the contextof separate embodiments can also be implemented in combination in asingle embodiment. Conversely, various features that are described inthe context of a single embodiment can also be implemented in multipleembodiments separately or in any suitable subcombination. Moreover,although features may be described above as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination can in some cases be excised from thecombination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

Thus, particular embodiments of the subject matter have been described.Other embodiments are within the scope of the following claims. In somecases, the actions recited in the claims can be performed in a differentorder and still achieve desirable results. In addition, the processesdepicted in the accompanying figures do not necessarily require theparticular order shown, or sequential order, to achieve desirableresults. In certain implementations, multitasking and parallelprocessing may be advantageous.

What is claimed is:
 1. A computer-implemented method, the methodcomprising: receiving an entry of at least a portion of a search querycomprising one or more terms input into a search field provided by aclient device, wherein the one or more terms include an individualidentifier that identifies multiple distinct individuals having a samename; prior to execution of the search query, using the individualidentifier to identify at least two individuals having the same name,including a first individual and a second individual; providing aplurality of suggested queries for display on the client device relativeto the one or more input terms, the suggested queries including a firstsuggested query referring to the first individual and a second suggestedquery referring to the second individual, including providing the samename in both the first and the second suggested queries, and includingproviding further information distinguishing in the suggested queriesthe first individual referred to by the first suggested query from thesecond individual identified by the second suggested query; andresponsive to receiving from the client device a selection of the firstsuggested query or the second suggested query: obtaining search resultsfor the selected individual of the selected query, where the searchresults are obtained using resources associated with the selectedindividual; and providing the obtained search results to the clientdevice.
 2. The method of claim 1, further comprising: refining theobtained search results using the one or more terms in the search query.3-4. (canceled)
 5. The method of claim 1, further comprising: receivinga second search query, wherein the second search query comprises one ormore second terms; refining the obtained search results using the one ormore second terms; and providing the refined search results, wherein thesearch results are presented in a social profile page corresponding tothe selected individual.
 6. The method of claim 1, wherein usingresources associated with the selected individual comprises identifyingone or more social profiles associated with the individual identifier.7. The method of claim 6, wherein the social profiles are identifiedbased in part on a geographic location of a user submitting the searchquery.
 8. The method of claim 6, wherein the social profiles areidentified based in part on a history of search queries received for auser submitting the search query.
 9. The method of claim 6, wherein thesocial profiles are identified based in part on being included in asocial circle associated with a user submitting the search query. 10.The method of claim 1, wherein providing the further informationcomprises: providing, in the first suggested query, an indication of ageographic location of the first individual; and providing, in thesecond suggested query, an indication of a geographic location of thesecond individual.
 11. The method of claim 1, wherein providing theobtained search results comprises providing a mechanism for requestingthat the selected individual join a social group associated with a user.12-16. (canceled)
 17. A system comprising: one or more computers and oneor more storage devices storing instructions that are operable, whenexecuted by the one or more computers, to cause the one or morecomputers to perform operations comprising: receiving an entry of atleast a portion of a search query comprising one or more terms inputinto a search field provided by a client device, wherein the one or moreterms include an individual identifier that identifies multiple distinctindividuals having a same name; prior to execution of the search query,using the individual identifier to identify at least two individualshaving the same name, including a first individual and a secondindividual; providing a plurality of suggested queries for display onthe client device relative to the one or more input terms, the suggestedqueries including a first suggested query referring to the firstindividual and a second suggested query referring to the secondindividual, including providing the same name in both the first and thesecond suggested queries, and including providing further informationdistinguishing in the suggested queries the first individual referred toby the first suggested query from the second individual identified bythe second suggested query, wherein the further information comprises(i) an indication of a geographic location of the first individual inthe first suggested query, and (ii) an indication of a geographiclocation of the second individual in the second suggested query; andresponsive to receiving from the client device a selection of the firstsuggested query or the second suggested query: obtaining search resultsfor the selected individual of the selected query, where the searchresults are obtained using resources associated with the selectedindividual; and providing the obtained search results to the clientdevice.
 18. The system of claim 17, further comprising: refining theobtained search results using the one or more terms in the search query.19-20. (canceled)
 21. The system of claim 17, further comprising:receiving a second search query, wherein the second search querycomprises one or more second terms; refining the obtained search resultsusing the one or more second terms; and providing the refined searchresults, wherein the search results are presented in a social profilepage corresponding to the selected individual.
 22. The system of claim17, wherein using resources associated with the selected individualcomprises identifying one or more social profiles associated with theindividual identifier.
 23. The system of claim 22, wherein the socialprofiles are identified based in part on a geographic location of a usersubmitting the search query. 24-27. (canceled)
 28. A non-transitorycomputer storage medium encoded with instructions that when executed byone or more computers cause the one or more computers to performoperations comprising: receiving an entry of at least a portion of asearch query comprising one or more terms input into a search fieldprovided by a client device, wherein the one or more terms include anindividual identifier that identifies multiple distinct individualshaving a same name; prior to execution of the search query, using theindividual identifier to identify at least two individuals having thesame name, including a first individual and a second individual;providing a plurality of suggested queries for display on the clientdevice relative to the one or more input terms, the suggested queriesincluding a first suggested query referring to the first individual anda second suggested query referring to the second individual, includingproviding the same name in both the first and the second suggestedqueries, and including providing further information distinguishing inthe suggested queries the first individual referred to by the firstsuggested query from the second individual identified by the secondsuggested query; and responsive to receiving from the client device aselection of the first suggested query or the second suggested query:obtaining search results for the selected individual of the selectedquery, where the search results are obtained using resources associatedwith the selected individual; and providing the obtained search resultsto the client device.
 29. The computer storage medium of claim 28,further comprising: refining the obtained search results using the oneor more terms in the search query. 30-31. (canceled)
 32. The computerstorage medium of claim 28, further comprising: receiving a secondsearch query, wherein the second search query comprises one or moresecond terms; refining the obtained search results using the one or moresecond terms; and providing the refined search results, wherein thesearch results are presented in a social profile page corresponding tothe selected individual.
 33. The computer storage medium of claim 28,wherein using resources associated with the selected individualcomprises identifying one or more social profiles associated with theindividual identifier.
 34. The computer storage medium of claim 33,wherein the social profiles are identified based in part on a geographiclocation of a user submitting the search query.
 35. The system of claim17, wherein providing the obtained search results comprises providingone or more mechanisms for contacting the selected individual.
 36. Thesystem of claim 17, wherein providing the obtained search resultscomprises providing a mechanism for requesting that the selectedindividual join a social group associated with a user.
 37. The system ofclaim 22, wherein the social profiles are identified based in part on ahistory of search queries received for a user submitting the searchquery.
 38. The system of claim 22, wherein the social profiles areidentified based in part on being included in a social circle associatedwith a user submitting the search query.
 39. The system of claim 17,wherein the operations further comprise providing, with the firstsuggested query or the second suggested query, a visual indicator thatdistinguishes the first individual referred to by the first suggestedquery from the second individual identified by the second suggestedquery.
 40. The system of claim 17, wherein the further informationcomprises an image of the first individual and an indication of at leasta geographic location, an occupation, or an organization of the firstindividual.
 41. The method of claim 1, further comprising providing,with the first suggested query or the second suggested query, a visualindicator that distinguishes the first individual referred to by thefirst suggested query from the second individual identified by thesecond suggested query.
 42. The method of claim 1, wherein the furtherinformation comprises an image of the first individual or an image ofthe second individual.
 43. The computer storage medium of claim 28,wherein providing the obtained search results comprises providing one ormore mechanisms for contacting the selected individual.
 44. The computerstorage medium of claim 28, further comprising: identifying multiplesocial networking profiles responsive to the query, each of the profilescorresponding to a different individual; and determining, for each ofthe multiple social networking profiles, an affinity score thatrepresents a level of interaction between a user submitting the searchquery and the individual corresponding to the social networking profile;wherein providing the suggested queries or obtaining the search resultsis based on the affinity scores.
 45. The computer storage medium ofclaim 33, wherein the social profiles are identified based in part on ahistory of search queries received for a user submitting the searchquery.
 46. The computer storage medium of claim 33, wherein the socialprofiles are identified based in part on being included in a socialcircle associated with a user submitting the search query.
 47. Thecomputer storage medium of claim 28, wherein the operations furthercomprise providing, with the first suggested query or the secondsuggested query, a visual indicator that distinguishes the firstindividual referred to by the first suggested query from the secondindividual identified by the second suggested query.
 48. The computerstorage medium of claim 28, wherein the further information comprises animage of the first individual or an image of the second individual.